// Generated from E:/luzhihao_workplace_new/himitsu/ai-unit-test-gen/src/main/java/org/example/javaFileGrammar/JavaFileGrammar.g4 by ANTLR 4.13.2
package org.example.javaFileGrammar;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link JavaFileGrammarParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface JavaFileGrammarVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#prog}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitProg(JavaFileGrammarParser.ProgContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#packageDef}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPackageDef(JavaFileGrammarParser.PackageDefContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#importDef}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitImportDef(JavaFileGrammarParser.ImportDefContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#classDef}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassDef(JavaFileGrammarParser.ClassDefContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#classBlock}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassBlock(JavaFileGrammarParser.ClassBlockContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#funcDef}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFuncDef(JavaFileGrammarParser.FuncDefContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#funcName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFuncName(JavaFileGrammarParser.FuncNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#className}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassName(JavaFileGrammarParser.ClassNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#funcBlock}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFuncBlock(JavaFileGrammarParser.FuncBlockContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#accessKeyWord}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAccessKeyWord(JavaFileGrammarParser.AccessKeyWordContext ctx);
	/**
	 * Visit a parse tree produced by {@link JavaFileGrammarParser#parameters}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParameters(JavaFileGrammarParser.ParametersContext ctx);
}